接續上篇建置React Native Android APP完成後
本篇要來講解
要如何將APP放在Play商店讓使用者下載
建立 Play 管理中心開發人員帳戶時
必須支付 $25 美元的註冊費(只需繳交一次)
登入Google帳戶後
首先進入Play Console網頁
(右上角有個Go To Play Console)
連結:https://play.google.com/console/about/
初次申請需填寫資訊並支付費用
若已有開發人員帳戶,也可透過邀請的方式
不需支付 $25 美元的註冊費👀
參考:新增開發人員帳戶使用者以及管理各項權限
進入後首頁如下圖
初次上架需新增,重複上架無需點選
如上圖,點選「建立應用程式」
必須輸入以下內容
點選「建立應用程式」,建立完成
在你讓使用者下載前
建議先建立此版本,讓內部使用者先行測試
該測試選項只能透過開發者自行邀請其他Android使用者
<zh-tw>
撰寫如上圖,有問題時必須依照錯誤內容進行修正
Google也很貼心的提供修正原因及解決方法
依照上方錯誤,必須告知Google你的APP是否要登入後才可使用
若有,請提供一組測試帳密讓Google Play進行審查時測試
Google會要求所有的APP都必須提供這份隱私聲明
確保APP是否有蒐集個人資訊、蒐集多少資訊、蒐集後是否會有通知訊息...等
網站左方路徑:政策->應用程式內容
這邊可以參考產生 APP 上架需要的隱私權政策 URL
請privacypolicies網站產生你的隱私權政策
若你有自己的網站伺服器
也可以將產出後的內容放置主機後提供給Google
例如:Line APP隱私權政策
回到資訊主頁,將剩下的依序填寫完畢
基本上像是在填寫APP的問卷
也會依照全球時事新增提供資訊
(例如COVID-19應用程式確認則是近期新增的填寫項目)
Google會要求你填寫權限聲明,確保使用者操作APP時的安全性
圖為建立測試版本時,Google提醒需填寫該表單
網站路徑:[政策]->[應用程式內容]
Google也介紹了只要存取簡訊、通話、位置、所有檔案存取權...等
都必須填寫此表單
參考Google Play文件:存取機密資訊的權限和 API
所以在開發APP時,在package.json
中設定的permissions
權限設定
都會是填寫表單的重要依據
若APP都沒有其他取用權限
在「您的應用程式是否會收集或分享任何類型的必要使用者資料?」
勾選「否」
權限聲明表單使用範例:
參考Day 23 地理位置權限設定內容"permissions":["ACCESS_COARSE_LOCATION","ACCESS_FINE_LOCATION","ACCESS_BACKGROUND_LOCATION"]
在Android 11後,對於位置追蹤相關權限進行了一次性的改版
若你的APP需使用背景位置追蹤
填寫內容還請參考Android—關於Background Location的一些事情
以及參考Google Play文件:瞭解背景位置資訊存取權
若測試版本有一些問題須重新上傳AAB包
需要在建立一次新版本並將AAB包重建後上傳
這邊可能會遇到下圖問題(版本號碼衝突)
在Day 25有提到「調整app.json相關設定」
必須將versionCode
版本數字手動往上加
才能正常上傳並發布測試
在網站路徑:[發布]->[應用程式套件探索工具]
也能看見你上傳過的AAB包紀錄,進行分享或刪除
Google會要求你在準備上架前,設定在Play商店的主視覺
網站路徑:[拓展]->[商店發布]->[商店設定]
依照Google規定依序上傳圖片
(也可使用手機截圖後,調整16:9圖片大小後上傳)
Play商店主視覺圖參考
參考Google Play文件:新增預覽資源以展示您的應用程式
在上方建立好測試版本,且經過測試人員使用皆無問題後
最後就是發佈到Play商店上
另外也回資訊主頁確認,正式版是否為開放購買
發布正式版時,步驟與內部測試差不多,甚至流程更少
接著會進入Play商店審查階段
另外,如果還有其他項目修改
也記得回到發布總覽
將X項變更送審
※若開啟「控管型發布功能」,Google Play會將你變更後的項目自動送審
審查通過後,Play商店就能看見你的APP了✌️
參考Google Play文件:準備及推出版本
結語:
其實React Native、Flutter及其他原生APP開發
上架方式在建置AAB包後,其實都是一樣的
參考Android app 上架流程
單人開發+單人上架
其實單人上架會比較疲倦
要填寫上架內容、準備圖片、隱私權...等
不過再次上架,就不需要準備那麼多手續了
放AAB包->送審->等通過
Android系列文到本篇告一個段落
下一篇要來建置你的iOS APP
建置難度也會稍微提升😈。